package eclipse;

import java.util.Scanner;

public class ArrayExercise11 {
    public static void main(String[] args) {
        System.out.print("汉诺塔层数:");
        int n = new Scanner(System.in).nextInt();
        f(n);
    }

    private static void f(int n) {
        f(n, "A", "B", "C");
    }

    private static void f(int n, String z1, String z2, String z3) {
        // 如果只有一层,就从 z1直接移动到z3
        if(n == 1){
            System.out.println(z1+"------->"+z3);
            return;
        }
        //先移动上面的n - 1层, 从 z1移动到z2 中间要通过z3
        f(n - 1, z1, z3, z2);
        //把n层从z1移动到z3
        System.out.println(z1+"------->"+z3);
        //将上面的n - 1层 从z2移动到z3 中间要通过z1
        f(n - 1, z2, z1, z3);

    }
}
